This page last changed on Dec 19, 2006 by bowens.

How to Help

GeoServer fully embraces an open source development model that does not see a split between user and developer, producer and consumer, but instead sees everyone as a valuable resource in a collaborative quest to build something better than any of us could alone. The amount of effort that has been contributed already has been incredible, and in many ways we feel we are just getting started. To help that effort we ask that you do not see yourself simply as a user of the software, but instead try to find a way to give something back. This certainly does not have to be as a developer, it can be as simple as suggesting a feature or improvement, reporting a problem, or letting others know about GeoServer. These may seem like very minor things, but commercial software companies pay large amounts of money for these things, but they call them Market Research, Quality Assurance and Advertising. Every little thing helps to make GeoServer a better project, and while there are a few core developers, the software would not be nearly as advanced as it is today without a community of people testing, making suggestions and spreading the word. You can even help out by just offering words of encouragement to those working on the project, as many developers do not do this for the money, but do it for personal creativity and for the feeling of building something that others really appreciate. Adding yourself to the users map is a great way to let us know that you value the work done.

One last word about contributing, before we go into all the different ways that you can help out, is to do it because you want to. Find a task that really interests you, that you feel good about doing, or that forces you to learn something new. We are excited about working on GeoServer, and hope that the quality of the project is a testament to that. We believe the first step in changing the world is to love what you do on a day to day basis; that if you do not enjoy your work then what you create in the world will reflect that. We do hope that you will come to love working on GeoServer, and will find ways to contribute ever more. But if it makes you unhappy, if you are using or contributing to GeoServer out of an unwanted obligation, then we very much encourage you to change your life to find (or at least try to find) something that you do love.

Documentation

One of the best ways to help out is with documentation, a task most developer's loathe. We very much believe in the importance of documenting as much as possible, but having our core community be developers means we are often late in fully documenting everything. So lately we have tried to lower the barrier to entry to write documentation, by starting the Main Page and Main Documentation Page. The site is editable by anyone, with an incredibly simple mark up languagethat takes about 2 minutes to learn. Please add or modify any information there. Before doing any major documentation work (which we'll love you for) see our Guide to Documenting GeoServer, and see Documentation Help Wanted. Please feel free to not limit yourself to adding straight documentation, we really welcome most any information that might be relevant to other users. This could be howtos on getting GeoServer working with various Clients, or background explanations of OGC specs that you had to look up and would have found useful, or even how GeoServer compares to other WMS/WFSes out there. We believe in having as much open information as possible. Eventually we hope to contribute various portions of our wiki that are more general than just GeoServer to wider projects, such as the wiki based Open Source GIS book we are collaborating on. So for now just put that information on the GeoServer wiki, so it is available somewhere, and we will figure out exactly where it should go later. We would very much like the wiki to be a vast repository of information, of all things GeoServer related. If you are interested in becoming involved in GeoServer, but lack the coding skills, then leading the GeoServer documentation would be a great way to join.

Email and JIRA assistance

Related to documentation is helping out on the email lists. We would really like a self supporting users list, and you can become an expert on using GeoServer by thoroughly reading the documentation, reading the list archives, and being on the lists for awhile. But even if you can't answer the questions yourself, it is a great help to direct things where appropriate. Send bugs to the JIRA task tracker, ask the devel list, and point to the documentation. And perhaps the best thing to do is to work to close the gap between the email lists and the documentation. The ideal would be if every question asked and answered on the email lists were then turned into documentation. If someone asks a questions once it is fairly likely that someone else has the same question. We are working to build a really comprehensive FAQ, answering common questions and pointing to other points in the documentation.

You can also help us keep the JIRA task tracker organized. We tend to not get too many duplicate bugs, as most people do not yet report directly to the tracker whenever they have a problem, but eliminating those would be great. And then also scheduling what bugs should be fixed for what releases. Most people submit them without a fix version number, it's actually a great help just to schedule the bugs for the next minor release, and the requested issues for the next major release.

Translation

Another great way to help out is translation. We would like GeoServer available in as many languages as possible, as we want worldwide data to be available to all. The first thing to translate is the web administration tool, which can be easily translated to most any language by making a new ApplicationsResources file. The second way is by translating this documentation. For further information on how to translate GeoServer please see the How to Localize GeoServeron the GeoServer wiki.Eventually we would even like to set up GeoServer community sites in different languages, if you are interested in this please let us know.

Reporting Bugs

If you have a problem when working with GeoServer, then please, please let us know, we can only fix problems if we know about them. If anything doesn't work or just bothers you how it works, don't hesitate to get in touch. For more information see 1 Reporting Issues.

Suggestions for Improvement

If you have suggestions as to how we can make GeoServer better, we would love to hear them. Even if we are already planning on implementing a feature that you would like it does not hurt to hear from you, as we will likely move it up the priority list a bit. We usually have a poll on the GeoServer homepage on what feature you would like to see us implement next. It is generally features we are planning on hitting relatively soon, and we definitely take the results of the poll into account for the order in which we do them. Coming features and improvements are also tracked inour JIRA task tracker. They are scheduled there according to the GeoServer version they will be implemented in. We are also working on constructing abroad roadmap and vision for the future direction of GeoServer, and we would love feedback and input on where you would like to see the project go. Please check the wiki for the latest, and comment or add to it. And if you do evaluate GeoServer and decide that it is not for you, please let us know why you did not end up choosing it, what features were lacking, and we will do our best to implement them in the future.

Spread the word

A further way to really help out the GeoServer project is to spread the word about it. This may seem like a minor thing, but as we said earlier, commercial companies pay big money for marketing to sell their products. But the marketing they can't buy is the word of mouth grassroots information sharing about good software. So at the very least you can email a few co-workers and friends who might be interested. If you are on any lists of people who might be interested then you could email them. And you could also blog about it, put it in directories, and even write an article. But let people know, because it directly benefits you, since the wider the circle of users is the more potential contributors there are.

Development

If you are a software developer then that is of course the obvious way to help out, to write code to improve GeoServer. Generally developers start with bug fixes and small patches, and then move into larger contributions as they learn the system. Even if you don't know Java, or do not really know how to program, we do encourage you to try to look atthe code and figure out what is going on. That is the whole beauty of open source, you can open up the hood of the car and see how it is running. Youc an start as a user and slowly educate yourself on how it all works. Our developers are more than happy to help out as you learn and get acquainted, and we try our hardest to keep our code clean and well documented. For further information about developing with GeoServer please see the developers documentation, as we spent a lot of time on those docs so it is easy for developers to contribute.

Help fund GeoServer improvements

A final way to help out is to push for GeoServer to be used more in your own organization. There may be some capabilities that GeoServer is lacking compared to commercial solutions, but we would like to point out that it may be more cost effective to employ developers to work directly on the capability you need than to merely pay for the right to use someone else's software. Any improvements made on GeoServer go to the benefit of all, not just those who can afford expensive software. Funding that initial improvement can also lead to a snowball effect, as there are likely other organizations who would be much closer to using and further supporting GeoServer if it was closer to meeting their requirements. A number of different organizations can form the next step in improving GeoServer, so that in funding for one improvement you will start the ball rolling for many, many more improvements. We have little doubt that the collaborative open source model can easily lead to GeoServer becoming anA pache type project, being simply the best in its category, open source or commercial. And if there is concern over the quality of support available from an Open Source project please see the section on Commercial Supportin the user introduction. Also note that you are more than welcome to use in house developers or your favorite software company to perform improvements on GeoServer, we just ask that they roll their improvements back in to the code base. If you need help finding good developers we can easily assist, just email the list. We are building a network of companies and government agencies in different countries who can all make incremental improvementson GeoServer.

Document generated by Confluence on Jan 16, 2008 23:28